package com.litong.utils.baidu.asr;

import java.net.URL;
import java.util.HashMap;

import org.json.JSONObject;

import com.baidu.aip.speech.AipSpeech;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class BaiduASRUtil {
  // 设置APPID/AK/SK
  public static final String APP_ID = "17076747";
  public static final String API_KEY = "NTzkmkw5NEU0vnISfRgGLwFe";
  public static final String SECRET_KEY = "PxUPpGvX3O3YNVI2HCtYLwYZ4gqvN6cE";

  private static AipSpeech client;
  static {
    // 初始化一个AipSpeech
    client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
    // 可选：设置网络连接参数
    client.setConnectionTimeoutInMillis(2000);
    client.setSocketTimeoutInMillis(60000);

    // 可选：设置代理服务器地址, http和socket二选一，或者均不设置
    // client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
    // client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理

    // 可选：设置log4j日志输出格式，若不设置，则使用默认配置
    // 也可以直接通过jvm启动参数设置此环境变量
    URL resource = BaiduASRUtil.class.getClassLoader().getResource("log4j.properties");
    String file = resource.getFile();
    log.info(file);
    System.setProperty("aip.log4j.conf", file);
  }

  public static JSONObject asr(String path, String format, int rate, HashMap<String, Object> options) {
    // 调用接口
    JSONObject res = client.asr(path, format, rate, null);
    return res;
  }
}